<?php
require_once 'Classes/PHPExcel.php';
require_once 'Classes/PHPExcel/IOFactory.php';
require_once 'Classes/PHPExcel/Reader/Excel5.php';

//数据库连接
$db=new mysqli("localhost","root","root","shuad");

$dir = './';
$templateName = 'data.xls';
//实例化Excel读取类
$objReader = new PHPExcel_Reader_Excel2007();
    if(!$objReader->canRead($dir.$templateName)){
    $objReader = new PHPExcel_Reader_Excel5();
if(!$objReader->canRead($dir.$templateName)){
    echo '无法识别的Excel文件！';
    return false;
 }
}

$objPHPExcel=$objReader->load($dir.$templateName);
$sheet=$objPHPExcel->getSheet(0);//获取第一个工作表
$highestRow=$sheet->getHighestRow();//取得总行数
$highestColumn=$sheet->getHighestColumn(); //取得总列数
//循环读取excel文件,读取一条,插入一条
for($j=1;$j<=$highestRow;$j++){//从第一行开始读取数据
 $str='';
 for($k='A';$k<=$highestColumn;$k++){            //从A列读取数据
 //这种方法简单，但有不妥，以'\\'合并为数组，再分割\\为字段值插入到数据库,实测在excel中，如果某单元格的值包含了\\导入的数据会为空        
  $str.=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'\\';//读取单元格
 }
 //explode:函数把字符串分割为数组。
 $strs=explode("\\",$str);
 $sql="INSERT INTO `student`(`xh`,`name`) VALUES (
 '{$strs[0]}',
 '{$strs[1]}')";
 $db->query($sql);//这里执行的是插入数据库操作
}
unlink($dir.$templateName); //删除excel文件
?>